import logging
class Logger:


    def get_log(self,lever,msg):
        #创建一个日志收集器
        self.log=logging.getLogger('日志收集')
        #设置级别
        self.log.setLevel('DEBUG')

        #设置收集和输出日志格式
        formart=logging.Formatter('%(asctime)s-%(filename)s-%(levelname)s-%(lineno)d-%(message)s')
        #收集日志，保存到日志文件中
        path='../test_results/logs/test_log.log'
        fh=logging.FileHandler(path)
        fh.setLevel('DEBUG')  #设置收集日志的级别
        fh.setFormatter(formart) #设置收集日志的格式

        #创建输出
        sh=logging.StreamHandler()  #创建日志输出渠道
        sh.setLevel('DEBUG') #设置输出级别
        sh.setFormatter(formart) #设置输出格式

        #给自己创建的日志收集器绑定输出和收集方式
        self.log.addHandler(fh)
        self.log.addHandler(sh)

        if lever=='INFO':
            self.log.info(msg)
        elif lever=='DEBUG':
            self.log.debug(msg)
        elif lever=='WARNING':
            self.log.warning(msg)
        elif lever=='ERROR':
            self.log.error(msg)

        self.log.removeHandler(fh)
        self.log.removeHandler(sh)

    def info(self,msg):
        self.get_log('INFO',msg)

    def debug(self, msg):
        self.get_log('DEBUG', msg)

    def warning(self, msg):
        self.get_log('WARNING', msg)

    def error(self, msg):
        self.get_log('ERROR', msg)

# if __name__ == '__main__':
#     logger=Logger()
#     logger.info('info')
#     logger.debug('debug')
#     logger.warning('warning')
#     logger.error('error')